/*
 * @Author: your name
 * @Date: 2022-03-21 16:05:15
 * @LastEditTime: 2022-08-12 04:36:04
 * @LastEditors: YNT 2501512800@qq.com
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \22-03-19 智慧社区\app.js
 */
// app.js
import { getCapsuleParameter } from './utils/wxTool'
import { host } from './env'
App({
  // 小程序初始化完成
  onLaunch: function (options) {
    // 通过分享进入小程序时
    this.globalData.share = [1007, 1008].includes(options.scene)
    // 设置胶囊相关属性
    Object.assign(this.globalData, getCapsuleParameter())
  },
  /**
   * 当设置对象属性时（set），通过回调（callback）把目标属性值传递出去
   * @param {Function} callback
   */
  watch(callback) {
    // Object.defineProperty(目标对象, 目标属性, 属性描述符)
    Object.defineProperty(this.globalData, 'needUpdate', {
      configurable: true, // 目标属性可修改、删除
      enumerable: true, // 目标属性可枚举
      set(value) {
        // 设置目标属性时执行 --- 存储目标属性
        this._name = value // 模拟属性赋值,此处只是用一个属性临时存储一下 needUpdate的值 并无实际意义
        callback(value) // 执行回调 ==== 关键
      },
      get() {
        // 访问目标属性时执行 --- 获取目标属性
        return this._name // 模拟取值
      },
    })
  },

  // 上传文件封装
  upload: function (obj) {
    wx.uploadFile({
      url: 'https://files.wohewomen.com/upload/v1/',
      filePath: obj.filePath,
      name: 'file',
      formData: {
        app_key: 'weilai',
        source_type: '6',
      },
      success(res) {
        obj.success && obj.success(res)
      },
      fail(res) {},
    })
  },
  globalData: {},
})
